package cn.yitun.chat.yitunserverimbase.dao.group;

import cn.yitun.chat.yitunservercommonlib.crud.yitun.CrudDao;
import cn.yitun.chat.yitunservercommonlib.dataentity.dto.group.GroupHeadDto;
import cn.yitun.chat.yitunservercommonlib.dataentity.po.group.GroupHeadInfo;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.group.GroupHeadVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 群组头部表
 * @author chenyitun
 * @email chenyitun@163.com
 * @date 2020-05-27 14:42:53
 */
@Mapper
public interface GroupHeadDao extends CrudDao<GroupHeadDto, GroupHeadInfo, GroupHeadVo> {

	int absDel(Long id);

	int batchAbsDel(Long[] ids);

	/**
	 * 通过###获取群头
	 * @param groupId
	 * @param headId
	 * @param type
	 * @return
	 */
	GroupHeadVo getBy(@Param("groupId") Long groupId,@Param("headId") Long headId,@Param("type") String type);

	/**
	 * 获取所在群的头像
	 * @param userId
	 * @return
	 */
	List<GroupHeadVo> getGroupCategoryMemberGroupHeadListByUserId(@Param("userId") Long userId);

	/**
	 * 获取群组
	 * @param ids
	 * @return
	 */
	List<GroupHeadVo> getGroupHeadListByGroupIds(@Param("list") List<Long> ids);

	/**
	 * 获取最近更新头像
	 * @param groupId
	 * @return
	 */
    GroupHeadVo getLastByGroupId(@Param("groupId") Long groupId);

	/**
	 * 获取群头像
	 * @param groupId
	 * @return
	 */
	GroupHeadVo getVOByGroupId(@Param("groupId") Long groupId);

	/**
	 * 删除群头像
	 * @param groupId
	 * @return
	 */
    int removeByGroupId(@Param("groupId") Long groupId);
}
